home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1994 #2
/
Monster Media No. 2 (Monster Media)(1994).ISO
/
unix
/
xf86read.zip
/
CIRRUS.ME
next >
Wrap
Text File
|
1994-07-26
|
9KB
|
237 lines
Information for Cirrus Chipset Users
------------------------------------
A number of problems has been reported with the Cirrus driver in XFree86
2.0, and it is hoped that these are alleviated in XFree86 2.1. Some
important issues are described here. Please take the time to read this.
Contents
1. Supported chipsets
2. Overview of Xconfig options
3. Mode issues
4. Trouble shooting
1 - Supported chipsets
The following chipsets by Cirrus Logic are supported by this driver:
CL-GD5420 ISA SVGA chipset, 1Mbyte; maximum dot clock is 50 MHz.
Acceleration with extended write modes (used for scrolling
and solid filling in this driver). This chipset can *not*
support 1024x768 non-interlaced. The 50 MHz clock may or
may not work.
CL-GD5422 Enhanced version of the 5420 (32-bit internal memory
interface). Maximum dot clock is 80 MHz.
CL-GD6205/6215/6225/6235
Laptop chipsets more or less compatible with the 5420. The
only dot clock supported is 25 MHz.
CL-GD5424 Basically VLB version of the 5422, but resembles the
5426 in some respects.
CL-GD5426 Supports both ISA bus and VLB, and up to 2Mbyte of memory.
Has BitBLT engine for improved acceleration (BitBlt, image
transfer, text). Dot clock limit is 85 MHz.
CL-GD5428 Enhanced version of the 5426.
CL-GD543x Next generation 'Alpine' family chip with 64-bit internal
memory interface. There is some limited support for this
chipset, but it is untested. It is hoped that it will be
usable with this driver (being largely compatible with
the 5426).
The CL-GD5429 will probably be compatible with the CL-GD5428.
2 - Xconfig options
The following options are of particular interest to the Cirrus driver. Each
of them must be specified in the 'vga256' section of the Xconfig file.
Option "noaccel"
This option will disable the use of any accelerated functions. This
is likely to help with some problems related to DRAM timing,
high dot clocks, and bugs in accelerated functions, at the cost
of performance (which will still be reasonable on VLB).
Option "fast_dram" (5424, 5426, 5428)
Option "slow_dram" (5424, 5426, 5428)
The "fast_dram" option will cause the driver to set the internal
memory clock (MCLK) register of the video card to a higher value.
Normally, this register is not touched but it appears that the
standard CL-GD542x BIOS initializes it to a value that is somewhat
on the low side, which has a profound negative influence on
performance, and on the stability of high dot clock modes. The actual
speed of DRAM is not a critical factor in the determining whether
this option is appropriate; one card with 80ns DRAM, which came with
a DOS driver utility to set the MCLK to this value (0x22), seems to
run stable with a value of 0x26.
There are also (mainly brand name) cards whose customized BIOS does
initialize to a proper (high-performance) value. In this case, the
use of this option is probably not appropriate.
The "slow_dram" option will set the MCLK to the value used by the
standard CL-GD542x BIOS (0x1c). Symptoms of a MCLK that is too high
can be vertical bands of flickering pixels on the screen, and
loosing pixels in the textmode font after running X (note that
very similar effects can be caused by an MCLK setting that is
too low).
Upon start-up, the driver will report the value of the MCLK
register, and also any changes that are made.
Typical MCLK values:
0x1c This is usually the BIOS default. Corresponds to 50 MHz.
It is forced by the "slow_dram" option.
0x22 Value that most cards seem to be able to handle, used by
the "fast_dram" option.
0x26 Highest value that seems to be stable on one card tested.
This is also the maximum value of the MCLK register
according to the CL-GD542x databook, however, in other
places the databook says that the parts are not specified
for a MCLK higher than 50 MHz.
If you are not having any problems (performance or stability at
high dot clocks), it is best not to use the "fast_dram" option.
chipset "clgd5424"
This option, when used with a 5426/28, will have the effect of
disabling the use of the BitBLT engine (which the 5424 does not
have), while retaining some acceleration. This will be useful for
problems related to the BitBLT engine.
videoram 1024
This option will override the detected amount of video memory, and
pretend there is 1024K on the card. This is useful on cards with
2Mbyte of memory whose DRAM configuration is not compatible with
the way the driver enables the upper megabyte of memory.
Option "fifo_conservative"
This option will set the CRT FIFO threshold to a conservative value
for high dot clocks (>= 65 MHz), reducing performance but hopefully
alleviating problems with 'streaks' on the screen (especially when
a BitBLT operation is in progress).
Option "fifo_aggressive"
This option will set the CRT FIFO threshold to an aggressive value;
it will be the same as that used for lower dot clocks. It improves
performance at high dot clocks. It is probably appropriate on the
543x chips.
Option "no_2mb_banksel"
This option will cause the driver not to set the 'DRAM bank select'
bit to enable the upper megabyte of memory on a 2Mbyte card. This
should be helpful with cards equipped with 512Kx8 DRAMs, as opposed
to 256Kx4/16 DRAMs, when using a virtual screen configuration that
uses more than 1Mbyte of memory.
3 - Mode issues
The accelerated driver uses 256 bytes of scratch space in video memory.
Consequently, a 1024x1024 virtual resolution cannot be used with a 1Mbyte
card. Recommended virtual resolutions are 800x600 on a 512K card,
1152x900 on a card equipped with 1Mbyte of video memory, and 1600x1200
on a 2 Mbyte card (apart from problems described above).
The use of a higher dot clock frequencies has a profound negative effect on
the performance of graphics operations, especially BitBlt. With default MCLK
setting (0x1c), performance with a 65 MHz dot clock can be half of that with
a dot clock of 25 MHz, and it becomes much worse with higher dot clocks. The
"fast_dram" option helps a bit. For this reason, it is recommended that that
lowest dot clock that is acceptable is used; for example, on a 14" or 15"
screen 800x600 with high refresh (50 MHz dot clock) is not so bad, with a
large virtual screen.
It does not make much sense to use the highest clock (85 MHz) for 1024x768
at 76 Hz; the card will almost come to a standstill. A 75 MHz dot clock
results in 70 Hz which should be acceptable. If you have a monitor that
supports 1024x768 at 76 Hz with a 85 MHz dot clock, a standard 5426/5428
based card is a very poor match anyway.
Any 543x-based cards (untested at the time of writing) should do much better
at high dot clocks; the DRAM bandwidth is basically double that of the 542x
series.
4 - Trouble shooting
First of all, make sure that the default mode selected from your Xconfig is
supported by your monitor. Make sure you have commented out all modes/dot
clock combinations that your monitor does not support. It is best to start
with standard 640x480x256 with a 25 MHz clock to make sure the driver works
on your configuration. The default mode used will always be the first mode
listed in the modes line, with the highest dot clock listed for that
resolution in the timing section.
There is a video signal, but the screen doesn't sync.
You are using a mode that your monitor cannot handle. If it is
a non-standard mode, maybe you need to tweak the timings a bit. If
it is a standard mode and frequency that your monitor should be able
to handle, try to find different timings for a similar mode and
frequency combination.
Sparklies/streaks at high dot clocks.
You can try the "fast_dram" option, or use a lower dot clock. If
it happens when moving something on the screen, try the
"fifo_conservative" option. If that is not sufficient, the "noaccel"
option or chipset "clgd5424" will probably help.
'Wavy' screen, horizontal jitter.
You are probably using a dot clock that is too high. Try a lower
dot clock. You can also try to tweak the mode timings; try
increasing the second horizontal value somewhat. Here's a 65 MHz
dot clock 1024x768 mode (about 60 Hz) that might help:
"1024x768" 65 1024 1116 1228 1328 768 783 789 818
Crash or hang with after start-up (probably with a black screen).
Try the "noaccel" option. If that works, try chipset "clgd5424" for
somewhat better performance.
Crash, hang, or trash on the screen after a graphics operation, or 'Blitter
timeout' messages from the server.
This may be related to a bug in one of the accelerated functions, or
a problem with the BitBLT engine. Try the "noaccel" option, or
chipset "clgd5424".
Screen is 'wrapped' vertically.
This indicates a DRAM configuration problem. If your card has two
megabytes of memory, try the "no_2mb_banksel" option, or use
videoram "1024" if you only use 1 Mbyte for the virtual screen.
Chipset is not detected.
Try forcing the chipset with the nearest lower number. For example,
if you have a 5429 chip (not available at the time of writing), use
chipset "clgd5428".
If are having driver-related problems that are not addressed by this document,
or if you have found bugs in accelerated functions, you can try contacting
the XFree86 team, or post in the Usenet newsgroup "comp.windows.x.i386unix".
$XFree86: mit/server/ddx/x386/etc/README.cirrus,v 2.4 1994/03/08 04:50:18 dawes Exp $